<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*     
         创建一个数组（对象）
             1 - 字面量创建
             数组中每一个数据，叫元素
             每个元素都逗号隔开
             2 - 内置构造函数   Array(很少用--没有字面量写法简单)
             参数只有一个，并且类型是数字的时候，这个参数表示数组的长度，其他情况都表示数组的元素
             
     
         本质是一个对象：属性--方法
            属性：
                下标 -
                    0 1 2 3  索引或者下标--从0开始，第一个元素的下标为0 
                    通过下标修改或者获取某一个位置的元素
                 length 
                  长度-表示数组元素个数   

            技巧：循环遍历数组的每一个元素      

     */
        var o1 = { name: '张三', age: 19 }
        var o2 = { name: '李四', age: 17 }

        var arr = [o1, o2, { name: '王五', age: 15 }];

        console.log(typeof arr);//object

        console.log(arr);
        // 通过下标获取对应位置的元素
        console.log(arr[2]);
        console.log(arr[0]);

        arr[0] = { name: '李力', age: 18 };
        console.log(arr);
        // 数组越界--超过最大下标获取元素--结果是undefined（类似获取对象不存在的属性）
        console.log(arr[3]);//undefined


        // 2--
        // 长度
        console.log(arr.length);
        // arr.length = 1;//一般很少直接修改长度
        console.log(arr);

        // 技巧--循环遍历数组中每一个元素

        var sum = 0;//记录年龄的和
        // 0 1 2
        for (var index = 0; index < arr.length; index++) {
            //i  可以获取数组中每个元素的下标或者索引
            // console.log(index, arr[index]);
            var item = arr[index];
            console.log(item);
            // 
            console.log(item.age);
            //每个元素的age属性都累加到 sum上
            sum = sum + item.age;
        }
        console.log(sum);
        console.log(sum / arr.length);



    </script>

</body>

</html>